package xyz.dava.file;

import org.springframework.web.multipart.MultipartFile;
import xyz.dava.file.model.VirtualFile;

import java.io.File;
import java.io.InputStream;

public interface FileClient {
    /**
     * 上传文件到文件系统
     *
     * @param file web文件
     */
    VirtualFile uploadFile(MultipartFile file);

    /**
     * 上传文件到文件系统
     *
     * @param file 文件
     */
    VirtualFile uploadFile(File file);

    /**
     * 上传文件到文件系统
     *
     * @param is  文件输入流
     * @param key 访问前缀
     */
    VirtualFile uploadFile(InputStream is, String key);

    /**
     * 删除文件
     *
     * @param key 访问前缀
     * @return 删除结果
     */
    boolean removeFile(String key);
}
